export class AccountServiceData {
    public static get getAllAccounts() {
        return {
            input: {
                mockData: 'getAllAccounts',
            },
            output: {
                url: '/accounts',
                config: {
                    params: {mockData: 'getAllAccounts'},
                    headers: {Authorization: ''},
                    timeout: 60,
                    onUploadProgress: undefined,
                },
            },
        };
    }

    public static get getAccountByAccountId() {
        return {
            input: {
                accountId: 'accountId',
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts/accountId',
            },
        };
    }

    public static get getAccountPublicInfo() {
        return {
            input: {
                accountId: 'accountId',
            },
            output: {
                config: {headers: undefined, params: undefined, timeout: 60},
                url: '/accounts/accountId/publicInfo',
            },
        };
    }

    public static get addAccount() {
        return {
            input: {
                testData: 'testData',
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts',
            },
        };
    }

    public static get shiftAccountActive() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/state',
            },
        };
    }

    public static get updateAccount() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId',
            },
        };
    }

    public static get createPersonalAccount() {
        return {
            input: undefined,
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: undefined,
                url: '/accounts/personal',
            },
        };
    }

    public static get updateAccountMailInscribe() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/mailInscribe',
            },
        };
    }

    public static get getQuillEditorContent() {
        return {
            input: {
                accountId: 'accountId',
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts/accountId/mailInscribe',
            },
        };
    }

    public static get getPublicAccounts() {
        return {
            input: undefined,
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts?open=true',
            },
        };
    }

    public static get setUserToAccountAdmin() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/admin',
            },
        };
    }

    public static get getAccountProfile() {
        return {
            input: 'accountId',
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts/accountId/profile',
            },
        };
    }

    public static get newAccountProfile() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/profile',
            },
        };
    }

    public static get updateAccountProfile() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/profile',
            },
        };
    }

    public static get getExtendCategories() {
        return {
            input: {
                accountId: 'accountId',
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts/accountId/extattrs/categories',
            },
        };
    }

    public static get getExtendAttrResource() {
        return {
            input: {
                accountId: 'accountId',
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                url: '/accounts/accountId/extattrs/resources',
            },
        };
    }

    public static get addExtendCategories() {
        return {
            input: {
                accountId: 'accountId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/extattrs/categories',
            },
        };
    }

    public static get updateExtendCategory() {
        return {
            input: {
                accountId: 'accountId',
                categoryId: 'categoryId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/extattrs/categories/categoryId',
            },
        };
    }

    public static get deleteExtendCategory() {
        return {
            input: {
                accountId: 'accountId',
                categoryId: 'categoryId',
            },
            output: {
                config: {
                    data: undefined,
                    headers: {Authorization: ''},
                    onUploadProgress: undefined,
                    params: {},
                    timeout: 60,
                },
                url: '/accounts/accountId/extattrs/categories/categoryId',
            },
        };
    }

    public static get addExtendAttribute() {
        return {
            input: {
                accountId: 'accountId',
                categoryId: 'categoryId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/extattrs/categories/categoryId/entries',
            },
        };
    }

    public static get updateExtendAttribute() {
        return {
            input: {
                accountId: 'accountId',
                entryId: 'entryId',
                categoryId: 'categoryId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/extattrs/categories/categoryId/entries/entryId',
            },
        };
    }

    public static get deleteExtendAttribute() {
        return {
            input: {
                accountId: 'accountId',
                entryId: 'entryId',
                categoryId: 'categoryId',
            },
            output: {
                config: {
                    data: undefined,
                    headers: {Authorization: ''},
                    onUploadProgress: undefined,
                    params: {},
                    timeout: 60,
                },
                url: '/accounts/accountId/extattrs/categories/categoryId/entries/entryId',
            },
        };
    }

    public static get ascendExtendedAttribute() {
        return {
            input: {
                accountId: 'accountId',
                categoryId: 'categoryId',
                data: {
                    testData: 'testData',
                },
            },
            output: {
                config: {headers: {Authorization: ''}, onUploadProgress: undefined, params: {}, timeout: 60},
                data: {testData: 'testData'},
                url: '/accounts/accountId/extattrs/categories/categoryId/entryorders',
            },
        };
    }
}
